#ifndef __EXECUTIONCONTROLLER_H
#define __EXECUTIONCONTROLLER_H

#include <gtkmm/eventbox.h>
#include <gtkmm/image.h>
#include <gtkmm/messagedialog.h>
#include "resultsDialogAction.h"
#include "gridData.h"
#include "results.h"
#include "viewer.h"
#include "astar.h"
#include "unsortedVector.h"
#include "sortedVectorByF.h"
#include "sortedVectorByXY.h"
#include "skipList.h"
#include "hashTable.h"
#include "hashTableSortedVector.h"
#include "skipListItem.h"
#include "node.h"


class viewer;
class resultsDialogAction;

class executionController
{
	public:
		executionController(viewer* v);
		void execute(int structure);
		void setGridData(gridData* g);
		void setResultsDialogAction(resultsDialogAction* r);
		void freeMemory();

	private:
		results* res;
		gridData* gData;
		resultsDialogAction* rDialogAction;
		viewer* v;
};

#endif